The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Part of the utility of a printing device includes the number of features and options on the printing device that are available to users of the printing device. One of those features is paper size. The more paper size options that are available, the more varying types of print jobs a user can submit. However, the number of different paper size options tends to be limited by the number of paper size options defined in the corresponding print driver. Thus, even if a printing device is capable of 100 different paper size options, the corresponding print driver may be configured to only recognize a relatively small number of paper sizes.
A print driver is software that executes on a client device (e.g., a PC) and converts data to be printed to the form specific to a printing device of a particular model. The purpose of printer drivers is to allow software application programs to cause printing without being aware of the technical details of the corresponding printing device.
Some printing devices include a configurable input paper tray, which is adjustable to take print media of an almost unlimited number of paper sizes. However, because print drivers are defined to only support a certain number of paper sizes, if a user wants to print with a paper size that the print driver does not support, then the user must take one of two approaches. According to a first approach, the user determines the new paper size and creates a new form for the new paper size using an application program's graphical user interface (GUI). According to a second approach, the user uninstalls the old print driver, locates a new print driver that supports the new paper size (assuming one exists), and installs the new print driver.
One example is envelope printing where a printing device includes an adjustable envelope input tray. If a user adjusts the envelope input tray and wants to print to the envelope input tray, then the user is required to (1) know the exact dimensions of the envelope that the user is inserting and then (2) select the size of the envelope from a pre-defined list of envelope sizes that the current print driver supports. If the user does not know the exact size, then the user may either select a wrong paper size or not be able to print. This results in a significant inconvenience to the user.
According to the first approach, if the user is inserting an envelope whose paper size is not supported by the corresponding print driver, then the user must perform (according to the first approach described above) a number of steps in order to be able print with that envelope. FIG. 1 is a flow diagram 100 that depicts these manual steps. At step 110, the user adjusts the input paper tray (or simply “input tray”) to fit the envelope. At step 120, the user measures the dimensions of the envelope. At step 130, using a GUI of an application program, the user creates a new form based on the dimensions of the envelope. The print application provides user interface controls that allow the user to input a new paper size and save the new paper size for subsequent selection when submitting a print job. At step 140, the user opens the application program (if not already open) and prints with the new form. Even though the user is able to print using a paper size that is not supported by the corresponding print driver, the user must perform a number of manual steps that may significantly inconvenience the user.
One of the problems with the second approach is that a new print driver must be generated and distributed to a large number of users. Printing device manufacturers attempt to provide current print drivers available on their Website for download, but many users do not know to check a manufacturer's Website for current drivers. Furthermore, many print drivers must be certified by the company that makes the operating system or by printing device manufactures, which can be time consuming and expensive. Any changes to a print driver typically trigger a re-certification requirement.